#pragma once

#include <memory>
#include <TrueText/TextMetrics.h>
#include <boost/smart_ptr/shared_ptr.hpp>

namespace TrueText {

struct AtlasText;
class TextBounds;

class AtlasTextBuilder
{
public:
	AtlasTextBuilder();
	~AtlasTextBuilder();

	void SetAtlasMetrics(boost::shared_ptr<AtlasMetrics> value);
	void SetString(const wchar_t* str);
	void SetYAxisDirection(bool up);

	const AtlasText& GetAtlasText();
	const TextBounds& GetBounds();
private:
	std::auto_ptr<struct AtlasTextBuilderPrivates> privates;
};

} // namespace TrueText